
//447.回旋镖的数量
class Solution {
public:
    int numberOfBoomerangs(vector<vector<int>>& points) {
        int n=points.size();
        if(n<3) return 0;   //个数小于3不可能有满足条件的
          
        int ret=0;
        for(int i=0;i<n;i++)
        {
            unordered_map<long long,int> m;
            for(int j=0;j<n;j++)    //统计数组中个点到i点的欧式距离
            {
                int dx=points[j][0]-points[i][0];
                int dy=points[j][1]-points[i][1];
                m[pow(dx,2)+pow(dy,2)]++;   
            }
            for(auto& [x,y]:m) 
            ret+=y*(y-1);   
        }
        return ret;
    }
};